/// 发送短信验证码请求模型
class SmsRequest {
  final String userPhone;
  final String userCode;

  SmsRequest({
    required this.userPhone,
    required this.userCode,
  });

  /// 转换为JSON（用于加密前）
  Map<String, dynamic> toJson() {
    return {
      'userPhone': userPhone,
      'userCode': userCode,
    };
  }

  /// 从JSON创建实例
  factory SmsRequest.fromJson(Map<String, dynamic> json) {
    return SmsRequest(
      userPhone: json['userPhone'] ?? '',
      userCode: json['userCode'] ?? '',
    );
  }

  @override
  String toString() {
    return 'SmsRequest{userPhone: $userPhone, userCode: $userCode}';
  }
}

/// 加密的请求模型
class EncryptedSmsRequest {
  final String encryptedData;

  EncryptedSmsRequest({
    required this.encryptedData,
  });

  /// 转换为JSON（用于网络请求）
  Map<String, dynamic> toJson() {
    return {
      'encrypted_data': encryptedData,
    };
  }

  /// 从JSON创建实例
  factory EncryptedSmsRequest.fromJson(Map<String, dynamic> json) {
    return EncryptedSmsRequest(
      encryptedData: json['encrypted_data'] ?? '',
    );
  }

  @override
  String toString() {
    return 'EncryptedSmsRequest{encryptedData: $encryptedData}';
  }
}
